package com.fis.hlo.pm.persistence;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;







/**
 * <p>
 * Java class for customItemTax complex type.
 * 
 * <p>
 * The following schema fragment specifies the expected content contained within
 * this class.
 * 
 * <pre>
 * &lt;complexType name="customItemTax">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="id" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="itemId" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
 *         &lt;element name="items" type="{http://itemtax.pm.hlo.fis.com/}items" minOccurs="0"/>
 *         &lt;element name="itemsList" type="{http://itemtax.pm.hlo.fis.com/}items" maxOccurs="unbounded" minOccurs="0"/>
 *         &lt;element name="resultMessage" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="taxId" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
 *         &lt;element name="taxes" type="{http://itemtax.pm.hlo.fis.com/}taxes" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "customItemTax", propOrder = { "id", "itemId", "items",
		"itemsList", "resultMessage", "taxId", "taxes" })
public class CustomItemTax {

	protected String id;
	protected Long itemId;
	protected Items items;
	@XmlElement(nillable = true)
	protected List<Items> itemsList;
	protected String resultMessage;
	protected Long taxId;
	protected Taxes taxes;

	/**
	 * Gets the value of the id property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getId() {
		return id;
	}

	/**
	 * Sets the value of the id property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setId(String value) {
		this.id = value;
	}

	/**
	 * Gets the value of the itemId property.
	 * 
	 * @return possible object is {@link Long }
	 * 
	 */
	public Long getItemId() {
		return itemId;
	}

	/**
	 * Sets the value of the itemId property.
	 * 
	 * @param value
	 *            allowed object is {@link Long }
	 * 
	 */
	public void setItemId(Long value) {
		this.itemId = value;
	}

	/**
	 * Gets the value of the items property.
	 * 
	 * @return possible object is {@link Items }
	 * 
	 */
	public Items getItems() {
		return items;
	}

	/**
	 * Sets the value of the items property.
	 * 
	 * @param value
	 *            allowed object is {@link Items }
	 * 
	 */
	public void setItems(Items value) {
		this.items = value;
	}

	/**
	 * Gets the value of the itemsList property.
	 * 
	 * <p>
	 * This accessor method returns a reference to the live list, not a
	 * snapshot. Therefore any modification you make to the returned list will
	 * be present inside the JAXB object. This is why there is not a
	 * <CODE>set</CODE> method for the itemsList property.
	 * 
	 * <p>
	 * For example, to add a new item, do as follows:
	 * 
	 * <pre>
	 * getItemsList().add(newItem);
	 * </pre>
	 * 
	 * 
	 * <p>
	 * Objects of the following type(s) are allowed in the list {@link Items }
	 * 
	 * 
	 */
	public List<Items> getItemsList() {
		if (itemsList == null) {
			itemsList = new ArrayList<Items>();
		}
		return this.itemsList;
	}

	public void setItemsList(List<Items> items) {
		this.itemsList = items;
	}

	/**
	 * Gets the value of the resultMessage property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getResultMessage() {
		return resultMessage;
	}

	/**
	 * Sets the value of the resultMessage property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setResultMessage(String value) {
		this.resultMessage = value;
	}

	/**
	 * Gets the value of the taxId property.
	 * 
	 * @return possible object is {@link Long }
	 * 
	 */
	public Long getTaxId() {
		return taxId;
	}

	/**
	 * Sets the value of the taxId property.
	 * 
	 * @param value
	 *            allowed object is {@link Long }
	 * 
	 */
	public void setTaxId(Long value) {
		this.taxId = value;
	}

	/**
	 * Gets the value of the taxes property.
	 * 
	 * @return possible object is {@link Taxes }
	 * 
	 */
	public Taxes getTaxes() {
		return taxes;
	}

	/**
	 * Sets the value of the taxes property.
	 * 
	 * @param value
	 *            allowed object is {@link Taxes }
	 * 
	 */
	public void setTaxes(Taxes value) {
		this.taxes = value;
	}

}
